查看原文
其他

TensorFlow 2.2.0-rc0 现已发布

Google TensorFlow 2021-07-27

我们在今天凌晨的 TensorFlow 开发者峰会上发布了 TensorFlow 2.2 版。


相较于去年同样在峰会上发布的 2.0,TensorFlow 2.2 有了很大的进步,我们聚焦于 TensorFlow Core 性能提升,在保证易于进行性能评估的同时保证评估的一致性。我们还提供了新的评估工具 Performance Profiler,希望您能够喜欢。



TensorFlow 2.2.0 主要功能和改进

替换了字符串张量的标量类型,从 std::string 换为 tensorflow::tstring,后者的 ABI 更稳定。


为 TF 2 提供了新的性能分析工具 Performance Profiler,适用于 CPU / GPU / TPU。可对设备和主机的性能进行分析,这其中包括输入流水线和 TF 算子,并提供优化建议。请参阅 本教程 提供的使用指南。


使用pybind11替代 SWIG 作为将 C ++ 函数导出到 Python 的工具,这也是我们 SWIG 弃用计划的一部分。


tf.distribute

  • 新增tf.keras.layers.experimental.SyncBatchNormalization层。使用该层可实现对全局同步 BatchNormalization 的支持。该层将在参与同步训练的所有副本之间同步 BatchNormalization 的统计信息。

  • 提升了tf.distribute.experimental.MultiWorkerMirroredStrategy 在 GPU 多 Worker 分布式训练时的性能。
    • NVIDIA NCCL 更新至 2.5.7-1,以获得更好的性能和性能调优。请参阅 NCCL 开发者指南, 以获取更多信息。
    • 支持在 float16 格式下进行梯度 AllReduce。用法参见此示例
    • 实验功能:支持对 AllReduce 操作进行分包, 以允许重叠的梯度聚合和反向路径计算。


tf.keras

  • Model.fit 模块的主要改进:
    • 现在,您可以通过重写 Model.train_stepModel.fit 中实现自定义训练逻辑。
    • 轻松编写 SOTA (state-of-the-art) 训练循环而不必担心其他事情。Model.fit为您处理余下的所有(分发策略,回调,数据格式,循环逻辑等)。
    • 请阅读默认的 Model.train_step 模块的源码,以此为例学习如何编写该函数。
    • 上述新功能同样适用于用于验证的 Model.test_step 模块和用于推理的 Model.predict_step 模块。
  • SavedModel 格式现在支持 Keras 所有的内置层(包括矩阵,预处理层和有状态的 RNN 层)


tf.lite
  • 默认情况下启用 TFLite 实验性新转换器。


XLA
  • XLA 现在可以在 Windows 上构建并运行。所有预构建的软件包都随附有 XLA。
  • XLA 现在可以启用一个 tf.function,在 CPU 和 GPU 上实现“编译或抛出异常”的语义。


想了解 2020 TensorFLow Dev Summit 的更多详情,请关注我们的:
  • YT 频道
    https://www.youtube.com/watch?v=HlBGYxO8RaU

  • Bilibili 频道:Google 中国
    https://live.bilibili.com/1317



如果您想详细了解 本文提及 的相关内容,请参阅以下文档。这些文档深入探讨了这篇文章中提及的许多主题:

  • Performance Profiler
    https://tensorflow.google.cn/tensorboard/tensorboard_profiling_keras

  • 本教程
    https://tensorflow.google.cn/tensorboard/tensorboard_profiling_keras

  • SWIG 弃用计划
    https://github.com/tensorflow/community/blob/master/rfcs/20190208-pybind11.md

  • NCCL 开发者指南
    https://docs.nvidia.com/deeplearning/sdk/nccl-developer-guide/docs/env.html

  • 示例 
    https://github.com/tensorflow/models/blob/master/official/staging/training/grad_utils.py

  • AllReduce 分包
    https://tensorflow.google.cn/api_docs/python/tf/distribute/experimental/CollectiveHints

  • Model.train_step
    https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/engine/training.py#L433

  • 启用 tf.function
    https://tensorflow.google.cn/xla#explicit_compilation_with_tffunction



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存